﻿namespace FieldTools.Client.Entity.MyQQ
{
    /// <summary>
    /// myqq框架官方插件回调数据
    /// </summary>
    public class CallbackMyQQHttpPost
    {
        public String Id { get; set; }
        /// <summary>
        /// 用于判定哪个QQ接收到该消息
        /// </summary>
        public string MQ_robot { get; set; }
        /// <summary>
        /// 接收到消息类型，该类型可在[常量列表]中查询具体定义
        /// </summary>
        public string MQ_type { get; set; }
        /// <summary>
        /// 此参数在不同情况下，有不同的定义
        /// </summary>
        public string MQ_type_sub { get; set; }
        /// <summary>
        /// 此消息的来源，如：群号、讨论组ID、临时会话QQ、好友QQ等
        /// </summary>
        public string MQ_fromID { get; set; }
        /// <summary>
        /// 主动发送这条消息的QQ，踢人时为踢人管理员QQ
        /// </summary>
        public string MQ_fromQQ { get; set; }
        /// <summary>
        /// 被动触发的QQ，如某人被踢出群，则此参数为被踢出人QQ
        /// </summary>
        public string MQ_passiveQQ { get; set; }
        /// <summary>
        /// （此参数将被URL UTF8编码，您收到后需要解码处理）
        /// 此参数有多重含义，常见为：对方发送的消息内容，
        /// 但当消息类型为 某人申请入群，则为入群申请理由,
        /// 当消息类型为收到财付通转账、收到群聊红包、收到私聊红包时为原始json，
        /// 详情见[特殊消息]章节
        /// </summary>
        public string MQ_msg { get; set; }
        /// <summary>
        /// 此参数暂定用于消息撤回
        /// </summary>
        public string MQ_msgSeq { get; set; }
        /// <summary>
        /// 此参数暂定用于消息撤回
        /// </summary>
        public string MQ_msgID { get; set; }
        /// <summary>
        /// UDP收到的原始信息，特殊情况下会返回JSON结构（入群事件时，这里为该事件data）
        /// </summary>
        public string MQ_msgData { get; set; }
        /// <summary>
        /// 对方发送该消息的时间戳，引用回复消息时需要用到
        /// </summary>
        public string MQ_timestamp { get; set; }
    }
}
